#include <vector>

class Surface
{
	public:

		/*** Constructor ***/
		Surface();

		/*** Constructor ***/
		Surface(unsigned int pWidth, unsigned int pHeight);

		/*** Initialize a surface ***/
		void initialize(unsigned int pWidth, unsigned int pHeight);

		/*** Get the surface's height ***/
		unsigned int getHeight();

		/*** Get the surface's width ***/
		unsigned int getWidth();

		/*** Set the square contents at x, y ***/
		void setSquareValue(unsigned int x, unsigned int y, unsigned char value);

		/*** Get the square contents at x, y ***/
		unsigned char getSquareValue(unsigned int x, unsigned int y);

		/*** Deconstructor ***/
		~Surface();

	private:

		/*** The surface's height ***/
		unsigned int height;

		/*** The surface's width ***/
		unsigned int width;

		/*** The surface's contents ***/
		std::vector<unsigned char> contents;
};
